// 商品数据接口（根据真实API调整）
export interface Product {
  id: number;
  teamId?: number | string;
  categoryId?: number | string;
  productTypeId?: number | string;
  productName: string; // API返回的是productName
  sku?: string;
  specification?: string;
  price?: number;
  imageUrl?: string;
  stock?: number;
  createdAt?: string;
  updatedAt?: string;
  
  // 为了兼容现有组件，添加映射字段
  name?: string; // 映射自productName
  description?: string; // 映射自specification
  category?: string;
  
  // 新增字段 - 用于ProductTable显示
  photo?: string; // 商品照片
  categoryName?: string; // 类别名称
  purchasePrice?: number | string; // 入库价
  sellingPrice?: number | string; // 出库价
  stockAlert?: number | string; // 库存预警
  weight?: number | string; // 重量
  brand?: string; // 品牌
  model?: string; // 型号
  customsCode?: string; // 海关编码
  color?: string; // 颜色
  length?: number | string; // 长度
  width?: number | string; // 宽度
  height?: number | string; // 高度
  notes?: string; // 备注
  declaredPrice?: number | string; // 申报价格 (代替 declaredValue)
  englishName?: string; // 英文名称 (代替 declaredName)
  status?: number | string; // 状态
}

// 原始API返回的商品数据结构
export interface RawProductData {
  id: number;
  teamId?: number;
  categoryId?: number;
  productTypeId?: number;
  productName: string;
  sku?: string;
  specification?: string;
  price?: number;
  imageUrl?: string;
  stock?: number;
  createdAt?: string;
  updatedAt?: string;
  categoryName?: string;
  [key: string]: unknown; // 允许其他未知字段
}

// 真实API响应接口
export interface RealApiResponse<T> {
  code: number;
  message: string | null;
  data: T;
}

// 真实API分页响应接口
export interface RealPaginationData<T> {
  totalCount: number;
  totalPage: number;
  data: T[];
}

// API响应接口（保持原有格式用于前端）
export interface ApiResponse<T> {
  success: boolean;
  message: string;
  data: T;
}

// 分页参数接口
export interface PaginationParams {
  pageIndex: number;
  pageSize: number;
}

// 分页响应接口（保持原有格式用于前端）
export interface PaginationResponse<T> {
  items: T[];
  total: number;
  pageIndex: number;
  pageSize: number;
  totalPages: number;
} 